A Cache-Oblivious Implicit Dictionary with the Working Set Property
نویسندگان
چکیده
In this paper we present an implicit dictionary with the working set property i.e. a dictionary supporting insert(e), delete(x) and predecessor(x) in O(logn) time and search(x) in O(log `) time, where n is the number of elements stored in the dictionary and ` is the number of distinct elements searched for since the element with key x was last searched for. The dictionary stores the elements in an array of size n using no additional space. In the cache-oblivious model the operations insert(e), delete(x) and predecessor(x) cause O(logB n) cache-misses and search(x) causes O(logB `) cache-misses.
منابع مشابه
Cache-Oblivious Implicit Predecessor Dictionaries with the Working-Set Property
In this paper we present an implicit dynamic dictionary with the working-set property, supporting insert(e) and delete(e) in O(logn) time, predecessor(e) in O(log `p(e)) time, successor(e) in O(log `s(e)) time and search(e) in O(log min(`p(e), `e, `s(e))) time, where n is the number of elements stored in the dictionary, `e is the number of distinct elements searched for since element e was last...
متن کاملOptimal Cache-Oblivious Implicit Dictionaries
We consider the issues of implicitness and cache-obliviousness in the classical dictionary problem for n distinct keys over an unbounded and ordered universe. One finding in this paper is that of closing the longstanding open problem about the existence of an optimal implicit dictionary over an unbounded universe. Another finding is motivated by the antithetic features of implicit and cache-obl...
متن کاملHigh Performance Self Organizing Dynamic Dictionaries
A dictionary data structure is a key-value store which supports insert, search and delete operations. Conventional data structures such as balanced binary search trees and hash tables are good both in theory and practice. However, these dictionaries are not adaptive as they do not exploit the temporal locality in key access patterns over time. On the other hand dictionaries like splay trees and...
متن کاملAn Experimental Comparison of Cache-oblivious and Cache-aware Programs DRAFT: DO NOT DISTRIBUTE
Cache-oblivious algorithms have been advanced as a way of circumventing some of the difficulties of optimizing applications to take advantage of the memory hierarchy of modern microprocessors. These algorithms are based on the divide-and-conquer paradigm – each division step creates sub-problems of smaller size, and when the working set of a sub-problem fits in some level of the memory hierarch...
متن کاملA Comparison of Cache Aware and Cache Oblivious Static Search Trees Using Program Instrumentation
An experimental comparison of cache aware and cache oblivious static search tree algorithms is presented. Both cache aware and cache oblivious algorithms outperform classic binary search on large data sets because of their better utilization of cache memory. Cache aware algorithms with implicit pointers perform best overall, but cache oblivious algorithms do almost as well and do not have to be...
متن کامل